Replace identifiers called `__out` because Windows.h #defines it. Windows is greedy and it defines the identifier `__out` as a macro. This patch renames all conflicting libc++ identifiers in order to correctly work on Windows. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291345 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/experimental/algorithm b/include/experimental/algorithm index 392ca1f..b32d7ca 100644 --- a/include/experimental/algorithm +++ b/include/experimental/algorithm
@@ -60,9 +60,9 @@ class _UniformRandomNumberGenerator> inline _LIBCPP_INLINE_VISIBILITY _SampleIterator sample(_PopulationIterator __first, _PopulationIterator __last, - _SampleIterator __out, _Distance __n, + _SampleIterator __output, _Distance __n, _UniformRandomNumberGenerator &&__g) { - return _VSTD::__sample(__first, __last, __out, __n, __g); + return _VSTD::__sample(__first, __last, __output, __n, __g); } _LIBCPP_END_NAMESPACE_LFTS diff --git a/include/experimental/iterator b/include/experimental/iterator index da593fe..37186b3 100644 --- a/include/experimental/iterator +++ b/include/experimental/iterator
@@ -75,19 +75,19 @@ typedef void reference; ostream_joiner(ostream_type& __os, _Delim&& __d) - : __out(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {} ostream_joiner(ostream_type& __os, const _Delim& __d) - : __out(_VSTD::addressof(__os)), __delim(__d), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(__d), __first(true) {} template<typename _Tp> ostream_joiner& operator=(const _Tp& __v) { if (!__first) - *__out << __delim; + *__output << __delim; __first = false; - *__out << __v; + *__output << __v; return *this; } @@ -96,7 +96,7 @@ ostream_joiner& operator++(int) _NOEXCEPT { return *this; } private: - ostream_type* __out; + ostream_type* __output; _Delim __delim; bool __first; };